النظام الثماني Octal System بالتفصيل دليلك الشاكل لكل ما تحتاج معرفته

بعد أن غصنا في عالم النظامين الثنائي والسادس عشر، قد تتساءل: هل هناك أنظمة عدٍّ أخرى يستخدمها الكمبيوتر؟ نعم! دعونا نُرحّب بضيفنا اليوم: النظام الثماني قد يبدو غريبًا بعض الشيء، فهو نظامٌ قديمٌ نسبيًا، ولكنّه لا يزال يُشكّل جزءًا من تاريخ الكمبيوتر وله بعض التطبيقات في الوقت الحاضر.

Octal System النظام الثماني
Octal System النظام الثماني

في درس شرح نظام العدّ الثنائي، تعلّمنا كيف يستخدم الكمبيوتر الآحاد والأصفار لتمثيل البيانات. ثمّ، في درس النظام السادس عشر من الألوان إلى الذاكرة، اكتشف تطبيقاته المذهلة، رأينا كيف يُستخدم النظام السادس عشر لِتبسيط وتقصير البيانات الثنائية. واليوم، سنكتشف نظامًا آخر يُستخدم في الكمبيوتر، وهو النظام الثماني (Octal).

انضمّ إلينا في هذهِ الرحلة لِنكتشف معًا أسرار النظام الثمانيّ، وكيفية تحويله إلى النظام الثنائي، و بعض تطبيقاته في عالم الكمبيوتر.

1. ما هو النظام الثماني (Octal)؟ ثمانية رموزٍ فقط!

النظام الثماني هو نظام عدٍّ ذو أساس 8، أي أنّه يستخدم ثمانية رموز فقط لتمثيل الأرقام، وهي:

  • 0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

كلّ خانة في الرقم الثماني تُمثّل قوة للعدد 8، تمامًا كما تُمثّل كلّ خانة في الرقم العشريّ قوة للعدد 10.

مثال: الرقم الثماني 237 يُمثّل في النظام العشريّ كالتّالي:

(2 × 8²) + (3 × 8¹) + (7 × 8⁰) = 128 + 24 + 7 = 159

إذًا، الرقم الثماني 237 يُعادل الرقم العشري 159.

2. لماذا نستخدم النظام الثماني في الكمبيوتر؟ السرّ يكمن في سهولة التحويل!

قد تتساءل، لماذا نستخدم النظام الثماني في الكمبيوتر في حين أنّ النّظام الثنائي هو لغة الآلة؟ يكمن السّرّ في سهولة التحويل بين النظامين!

كلّ رقم في النظام الثماني يُمكن تمثيله بِثلاثة بتات فقط في النظام الثنائي. هذا التوافق يُسهّل على الكمبيوتر فهم ومُعالجة البيانات المكتوبة بِالنّظام الثماني.

مثال:

| رقم ثماني | تمثيل ثنائي | |---|---| | 0 | 000 | | 1 | 001 | | 2 | 010 | | 3 | 011 | | 4 | 100 | | 5 | 101 | | 6 | 110 | | 7 | 111 |

كيفية تمثيل الأرقام بِـ النظام الثّماني

  • تمثيل الأرقام: يعتمد النظام الثماني على 8 رموز: الأرقام من 0 إلى 7.
  • الخانة الأولى: تمثل الخانة الأولى في العدد الثماني "8⁰" (أي 1).
  • الخانة الثانية: تمثل الخانة الثانية "8¹" (أي 8).
  • الخانة الثالثة: تمثل الخانة الثالثة "8²" (أي 64).
  • مثال: الرقم الثماني "23" يُعادل في النظام العشري "19" (2×8¹ + 3×8⁰ = 19).
  • مثال آخر: الرقم الثماني "127" يُعادل في النظام العشري "87" (1×8² + 2×8¹ + 7×8⁰ = 87).

في الماضي، كان النظام الثماني يُستخدم بِشكلٍ واسع في الكمبيوتر، خاصّةً في الأنظمة التي كانت تستخدم كلماتٍ (Words) مُكوّنةً من 12 بت، 24 بت، أو 36 بت. فكان من الأسهل تمثيل هذه الكلمات بِاستخدام النّظام الثماني بدلاً من سلاسل طويلة من الآحاد والأصفار.

تطبيقات النظام الثماني في الماضي:

  • بعض أنظمة التّشغيل القديمة، مثل PDP-8 و UNIVAC 1100، كانت تعتمد على النّظام الثماني في عرض البيانات والتّحكّم في الجهاز.

تطبيقات النّظام الثماني في الوقت الحاضر:

رغم أنّ النظام السادس عشر أصبح أكثر شيوعًا في الوقت الحاضر، إلّا أنّ النظام الثماني لا يزال يستخدم في بعض التطبيقات المحدودة، مثل:

  • أذونات الملفات (File Permissions): في أنظمة Unix و Linux، تُستخدم أرقام ثمانية لِتحديد أذونات الوصول إلى الملفات (القراءة، الكتابة، والتّنفيذ) لِلمُستخدمين والمجموعات المُختلفة.
  • بعض لغات البرمجة: تدعم بعض لغات البرمجة، مثل C و C++، كتابة الأرقام بِالنّظام الثماني بِإضافة صفر (0) قبل الرقم. مثال: int value = 0123; يُعيّن القيمة الثمانيّة 123 (83 في النّظام العشري) للمُتغيّر "value".

3. التحويل بين النظام الثماني والنظام الثنائي: بكل سهولة!

يُعتبر التّحويل بين النّظامين الثّماني والثّنائي عمليةً بسيطةً وسريعة، وذلك لِوجود علاقةٍ مُباشرةٍ بينهما. فكما ذكرنا سابقًا، يُمكن تمثيل كلّ رقم في النظام الثماني بِثلاثة بتات في النظام الثنائي.

3.1. من الثماني إلى الثنائي:

لِتَحويل رقمٍ ثمانيّ إلى النّظام الثّنائي، نُطبّق الخطوات التّالية:

  1. نأخذ كلّ رقم في العدد الثماني على حدة.
  2. نُحوّل كلّ رقم إلى مُقابله الثنائيّ المُكوّن من ثلاثة بتات (كما هو مُوضّح في الجدول في النّقطة 2).
  3. نَضَع التمثيلات الثنائيّة بجانب بعضها بِالتّرتيب لنحصل على الرقم الثّنائيّ النّهائي.
تحويل كل رمز: يُحوّل كل رمز في العدد الثماني إلى قيمته الثنائية (3 بت).
مثال: 7 = 111، 5 = 101، 2 = 010.
دمج القيم: نُدمج القيم الثنائية مع بعضها لِلحصول على العدد الثنائي الكامل.
مثال: العدد الثماني "752" يُصبح في النظام الثنائي "111 101 010".

مثال: لِنَحوّل الرقم الثّماني 532 إلى النّظام الثّنائيّ:

  • 5 يُصبح 101
  • 3 يُصبح 011
  • 2 يُصبح 010

إذًا، الرقم الثماني 532 يُعادل الرقم الثنائي 101011010.

تحديد قيمة كل خانة: نُضرب كل خانة في الرقم الثماني بِـ قوة العدد "8" المُناسبة لِـ موقع الخانة .

مثال: الرقم الثماني "432" يُصبح في النظام العشري (4×8² + 3×8¹ + 2×8⁰ = 256 + 24 + 2 = 282).

3.2. من الثّنائي إلى الثّماني:

لِتَحويل رقمٍ ثنائيّ إلى النّظام الثّماني، نُطبّق الخطوات التّالية:

  1. نقسّم الرقم الثّنائي إلى مجموعاتٍ من ثلاثة بتات، بدايةً من اليمين. إذا لم تكتمل المجموعة الأخيرة (على اليسار)، نُضيف أصفارًا على يسارها لإكمالها.
  2. نُحوّل كلّ مجموعة من ثلاثة بتات إلى مُقابلها الثماني (كما هو مُوضّح في الجدول في النّقطة 2).
  3. نكتب الأرقام الثّمانية النّاتجة بجانب بعضها بِالتّرتيب لنحصل على الرقم الثّماني النّهائي.

مثال: لِنَحوّل الرقم الثّنائي 110101001 إلى النّظام الثّماني:

  • نقسّم الرقم إلى مجموعات: 110 101 001
  • نُحوّل كلّ مجموعة إلى ثماني: 6 5 1

إذًا، الرقم الثّنائي 110101001 يُعادل الرقم الثّماني 651.

البحث عن أكبر قوة: نُحاول إيجاد أكبر قوة لِـ العدد "8" التي تكون أصغر من العدد العشري .

مثال: لِـ تحويل العدد العشري "210" إلى النظام الثّماني، فإنّ أكبر قوة لِـ "8" التي تكون أصغر من "210" هي "8²" (64).

  • طرح القيمة: نُطرح قيمة أكبر قوة من العدد العشري ، و نضع 1 في الخانة المُناسبة .
  • مثال: 210 - 64 = 146.
  • نُكرّر: نُكرّر الخطوات مع العدد الجديد (146).
  • مثال: 146 - 64 = 82.
  • نُكرّر: نُكرّر الخطوات مع العدد الجديد (82).
  • مثال: 82 - 64 = 18.
  • نُكرّر: نُكرّر الخطوات مع العدد الجديد (18).
  • مثال: 18 - 8 = 10.
  • نُكرّر: نُكرّر الخطوات مع العدد الجديد (10).
  • مثال: 10 - 8 = 2.
  • نُكرّر: نُكرّر الخطوات مع العدد الجديد (2).
  • مثال: 2 - 2 = 0.
  • النتيجة: العدد العشري "210" يُصبح "322" في النظام الثّماني.

4. النظام الثماني في الوقت الحاضر: هل انتهى دوره؟

مع تطوّر التّكنولوجيا و ظهور أنظمة كمبيوتر أكثر قوّةً، أصبح النظام السادس عشر أكثر شيوعًا من النظام الثماني في تمثيل البيانات في الكمبيوتر. وذلك لِأنّ النّظام السّادس عشر أكثر كفاءةً في تمثيل البيانات بِشكلٍ مُختصر. فكلّ رقم في النّظام السّادس عشر يُمكنه تمثيل أربعة بتات في النّظام الثّنائي، بينما يُمثّل كلّ رقم في النّظام الثّماني ثلاثة بتات فقط.

ولكن، لا يزال النّظام الثّماني مُهمًّا لفهمه، خاصّةً لِلمُهتمّين بِتاريخ الكمبيوتر و فهم أساسيات أنظمة العدّ.

5. فهم النظام الثماني: فائدة لِمُستقبلك في البرمجة!

رغم أنّ النظام الثماني ليس بِنفسٍ شكلٍ واسع الانتشار في الوقت الحاضر، إلّا أنّ فهمه له فوائدٌ عديدة، خاصّةً لِلمُبرمجين:

  • فهم أعمق للأنظمة الأخرى: يُساعد فهم النظام الثماني على فهم النظام الثنائي والسادس عشر بِشكلٍ أفضل، و ذلك لِأنّ جميع هذه الأنظمة مبنية على مبدأ قوى الأعداد.
  • تطوير مهارات التّفكير المنطقيّ: يتطلّب التّحويل بين النّظم الثّماني والثّنائي التّفكير بِشكلٍ منطقيّ و تطبيق خطواتٍ مُحدّدة، مما يُساعد على تطوير مهارات التّحليل وحلّ المشاكل.
  • فهم تاريخ الكمبيوتر: يُعدّ النظام الثماني جزءًا مُهمًّا من تاريخ الكمبيوتر، وفهمه يُتيح لنا التّعرّف على كيفيّة تطوّر أجهزة الكمبيوتر ولغات البرمجة.

خاتمة: النظام الثماني: نافذةٌ على تاريخ الكمبيوتر و بوابةٌ لِفهم أنظمة العدّ!

في نهاية هذهِ الرحلة، تعرّفنا على النظام الثماني، نظام عدٍّ قديم ولكنّه لا يزال له بعض التطبيقات في عالم الكمبيوتر. لقد تعلّمنا كيف يُمكن تحويله إلى النظام الثنائي بِسهولة، و رأينا بعض أمثلة استخدامه في الماضي و الحاضر.

ورغم أن النظام الثماني قد لا يكون بِنفس أهميّة النظام الثنائي والسادس عشر في الوقت الحاضر، إلا أن فهمه يُساعدنا على فهم تاريخ الكمبيوتر و تطوّر الأنظمة الرقمية، بالإضافة إلى تطوير مهاراتنا في التّفكير المنطقيّ.

و في درسنا القادم من دورة أساسيات مهمة لكل مبرمج، سنُكمل رحلتنا في عالم البرمجة آلة حاسبة المبرمجين.

اذا كان لديك اي استفسار عن هذا الموضوع يمكنك تركة في التعليقات وسيتم الرد عليك بشكل مباشر او يمكنك التواصل معنا.

Feras Swed
بواسطة : Feras Swed
متخصص في تطوير البرمجيات مع خلفية مهنية راسخة، متمرس في إيجاد حلول تقنية مبتكرة. أسهمت بفاعلية في تبسيط المفاهيم التكنولوجية المعقدة من خلال منصتي الإلكترونية، Swed For You، موفرًا موارد قيمة لتعزيز الوعي والمهارات التقنية للعامة. أحرص دائمًا على الالتزام بأعلى معايير الاحترافية والابتكار، مع التركيز على تطوير مسارات جديدة لاستخدام التكنولوجيا بطرق تخدم تقدم المجتمع وتحسين جودة الحياة.
تعليقات